@echo off
REM Android APK 手动签名脚本
REM 使用说明：
REM 1. 确保已生成密钥文件 android\litterputting.keystore
REM 2. 确保已安装Java JDK和Android SDK
REM 3. 双击运行此文件，按提示输入密码

echo ========================================
echo Android APK 签名工具
echo ========================================
echo.

REM 检查密钥文件是否存在
if not exist "litterputting.keystore" (
    echo 错误：找不到密钥文件 litterputting.keystore
    echo 请先运行 generate_keystore.bat 生成密钥文件
    echo.
    pause
    exit /b 1
)

REM 设置APK路径（请根据实际情况修改）
set "APK_PATH=..\build\Qt_6_9_2_Clang_arm64_v8a-Release\android-build-appLitterPutting\build\outputs\apk\release\android-build-appLitterPutting-release-unsigned.apk"
set "SIGNED_APK=..\android-build-appLitterPutting-release-signed.apk"

REM 检查APK文件是否存在
if not exist "%APK_PATH%" (
    echo 错误：找不到APK文件
    echo 路径: %APK_PATH%
    echo.
    echo 请先构建Release版本的APK
    pause
    exit /b 1
)

echo 找到APK文件: %APK_PATH%
echo.

REM 尝试查找apksigner（Android SDK build-tools）
set "APKSIGNER="
if exist "%LOCALAPPDATA%\Android\Sdk\build-tools" (
    REM 查找最新版本的build-tools
    for /f "delims=" %%i in ('dir /b /ad /o-n "%LOCALAPPDATA%\Android\Sdk\build-tools" 2^>nul') do (
        if exist "%LOCALAPPDATA%\Android\Sdk\build-tools\%%i\apksigner.bat" (
            set "APKSIGNER=%LOCALAPPDATA%\Android\Sdk\build-tools\%%i\apksigner.bat"
            goto :found_apksigner
        )
    )
)

:found_apksigner
if "%APKSIGNER%"=="" (
    echo 警告：未找到apksigner工具
    echo 尝试使用jarsigner...
    echo.
    
    REM 使用jarsigner签名
    jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore litterputting.keystore "%APK_PATH%" litterputting
    
    if %ERRORLEVEL% NEQ 0 (
        echo.
        echo 签名失败！
        pause
        exit /b 1
    )
    
    echo.
    echo 签名成功！已签名的APK: %SIGNED_APK%
    echo.
    echo 注意：建议使用apksigner进行签名以获得更好的兼容性
) else (
    echo 使用apksigner签名...
    echo.
    
    "%APKSIGNER%" sign --ks litterputting.keystore --ks-key-alias litterputting --out "%SIGNED_APK%" "%APK_PATH%"
    
    if %ERRORLEVEL% NEQ 0 (
        echo.
        echo 签名失败！
        pause
        exit /b 1
    )
    
    echo.
    echo ========================================
    echo 签名成功！
    echo ========================================
    echo.
    echo 已签名的APK位置: %SIGNED_APK%
    echo.
    echo 现在可以将此APK安装到荣耀Pad上了！
)

echo.
pause


